package com.zoe.onelink.auth.client;

import com.zoe.onelink.common.model.ApiResult;
import org.springframework.security.oauth2.provider.OAuth2Authentication;

public interface AuthRemoteClient {

    /**
     * 从远端授权服务器中，进行授权登录
     * @param username
     * @param password
     * @return
     */
    ApiResult auth(String username, String password);

    /**
     * 从远端授权服务器中，读取认证信息
     * @param accessToken
     * @return
     */
    OAuth2Authentication readAuthentication(String accessToken);

    /**
     * 从远端授权服务器中，比对彼此redis的连接实例是否是同一个
     * @param serviceId
     * @param redisKey
     * @param redisValue
     * @return
     */
    Boolean redisIsEqual(String serviceId, String redisKey, String redisValue);
}
